最流行的开源飞控项目ArduPilot Mega(APM)介绍及发展历史

ArduPilotMega (APM) 是市面上最强大的基于惯性导航的开源自驾仪特性包括:- 免费开源固件,支持飞机(”ArduPlane”),多旋翼 (四旋翼, 六旋翼, 八旋翼等), 直升机(”ArduCopter”)和地面车辆(”ArduRover”)!

  • 通过点击式的工具简单设置和上传固件。无须编程!(但是你想搞搞代码的话,可以使用简单的嵌入式编程工具: Arduino)
  • 通过点击式的桌面程序完全的规划任务脚本
  • 可以支持上百个三维航点
  • 使用强大的 MAVLink 协议,支持双向遥测和飞行中控制命令T
  • 多种免费地面站,包括 HK GCS, 支持任务规划,空中参数调整,视频显示,语音合成和完整的带回放的数据记录
  • 跨平台。支持Windows, Mac 和 Linux。在 Windows 下使用图形任务规划设置工具 (Mac 下可用模拟器) 或在任何操作系统下使用命令行界面。三种操作系统上都有可用的地面站程序。基于 Arduino 编程环境,也是完全跨系统的。
  • 自动起飞,降落和特殊的动作命令,例如视频和照相控制
  • 完整支持 Xplane 和 Flight Gear 半硬件仿真
  • 包括继电器,可以触发任何设备,可以根据任务脚本控制
  • 硬件包括:
  • 三轴陀螺仪
  • 三轴加速度计
  • 测量高度的空气压力传感器
  • 10Hz GPS 模块
  • 监视电池状态的电压传感器
  • 4Mb板上数据记录存储器。任务数据自动记录,并可以导出为 KML 格式
  • 内建硬件失效处理器,在失控时可以返回出发点
  • (可选) 三轴磁力计
  • (可选) 空速传感器
  • (可选) 电流传感器

Ardupilot历史

2007年5月 – 克里斯·安德森用乐高 mindstorm搭建无人机时,建立了 DIYDrones.com .

2008年9月– Jordi 制作了一个可以自动飞行的传统直升机无人机并赢得了第一届Sparkfun
AVC大赛.
2009年 – 克里斯·安德森和Jordi Munoz 成立了3D Robotics(3DR)

2009年5月 – Jordi/3DRobotics 发布了第一款Ardupilot板子 (使用红外温度传感器)

2009年11月 – Jordi创建了ardupilot代码仓库

2009年11月 – Jordi, Doug Weibel,
Jose Julio编写了第一版使用William Premerlani的DCM算法的ArduIMU

2009年11月 至 2010年2月 – Jason从头开始重写了
(v2.5),包括了使用中断驱动的遥控信号输入, 遥控油门保护, 返航, 悬停, 绕圈, 垂直航路修正, 更佳的稳定性, 全数字电传操纵, 系统事件, 四通道RC输出, 2线通信的数传. (Post)

2009年12月 – Doug 推出了改善了的 Ardupilot
v2.4,第一次支持基于IMU的飞行器任务飞行

2010年 – 3d Robotics 推出了APM1

2010年初 – Doug and Jason 发布了Ardupilot
2.6 ,改善了油门控制, 支持ArduIMU

2010年夏天 – APM Code development:

  • Jason – 任务脚本, 飞行模式, 导航
  • Jose – 代码库, DCM, and 硬件传感器支持
  • Doug – 高级飞行控制, 飞行日志记录, DCM
  • MikeS – 参数, CLI, 高速串口, 高级硬件优化

2010年5月 – Ardupilot合并了AeroQuad
(包括Jani Hirvinen) ,开始在ArduCopterNG(海盗)进行工作。

2010年6月 – APM 1 在SW上实现了自主任务脚本飞行

2010年6月 – APM1首次让固 * 翼飞机实现了自主飞行

2010年6月 – Jason 开发了可以在Xplane上运行的基于Perl的半实物仿真,来测试新的APM任务脚本命令
(后来整合进了Mavlink)
2010年8月 – Jani/jDrones
收到了一款作为原始标准的四轴飞行器机架DIY套件

2010年十月 – ArduCopterNG (AeroQuad/ArduCopter
合并后的代码) 工程被Ardupilot团队放弃了,移交给了 ArduPirates 团队以得到更长远的发展. Jason在ArduPlane的基础上使用另一种控制逻辑重写了ArduCopter,使其更加自主化。增加了悬停模式, 绕圈模式, 返航, 任务脚本, 失控保护, 起飞, 降落, 等等.

2010年8月 – Michael Oborne发布了Mission
Planner

2010年8月 – Randy增加了对TradHeli
的支持

2010年12月– 从初始的ArduCopterNG的代码上进行了扩展的MegaPirates成为了ardupilot第一个成功的分支

2011年4月 – Jason在Sparkfun
AVC上实现了 Arducopter的第一次完全自主任务飞行

2011年 – 3D Robotics发布了APM2

2011年11月 – Tridge创建了AutoTester

2012年 – 3D Robotics发布了APM2.5/2.6

2012年2月 – Jason让Randy来接管并成为了Arducopter的首席开发者,
Doug离开了团队去获取他的博士学位而Tridge接管了ArduPlane

2012年2月 – Marco
Robustini加入并领导ArduCopter的测试者

2012年7月 – 苏黎世联邦理工学院(Lorenz
Meier,MikeS) / 3D Robotics发布了PX4

2012年8月 – Pat Hickey 简化了硬件抽象层 (AP_HAL)
并增加了对其它板子的支持

2012年10月 – Rob Lefebvre实现了TradHeli的第一次自主任务飞行

2012年10月– Tridge and CanberraUAV 使用APM2
& Pandaboard赢得了Outback无人机挑战

2012年11月 – 第一款APM2.5的山寨版出现了

2012年12月 – Randy
and Leonard 在ArduCopter(AC2.9)中加入了基于惯导的高度自动控制,得益于Jonathan
Challinger成功设计出了3阶互补滤波器的原型

2013年1月 – ardupilot的代码从googel code搬到了github

2013年1月/2月 – 安卓版的地面站出现了 (Arthur的DroidPlanner , Kevin
Hester的AndroPilot)

2013年4月 – Paul Riseborough, Brandon Jones,
Tridge编写了ArduPlane的基于L1控制器的航点飞行

2013年5月 – Leonard and Randy 为ArduCopter的航线飞行加入了惯性导航的支持(AC3.0)

2013年7月 – Paul Riseborough, Tridge给ArduPlane整合进了速度和高度控制

2013年9月 – Mike McCauley, Tridge增加了对Flymaple板子的支持

2013年11月 – ETH
(Lorenz Meier,MikeS) / 3D Robotics发布了Pixhawk

2014年1月 – Paul Riseborough, Tridge增加了扩展卡尔曼滤波器(EKF),使飞控能得到更加可靠的姿态和位置信息

2014年5月 – Emile Castelnuovo and Tridge增加了对VRBrain板的支持

2014年8月 – 首次实现了ArduPlane基于Linux控制板的飞行 (PixhawkFire)

2014年9月 – Tridge
& Canberra无人机使用了基于arduplane的固* 翼无人机赢得了Outback挑战 (Tridge’s debrief).

2014年10月 – 开源无人机项目DroneCode启动

2014年10月 – 第一个有关ArduPlane的报道:在佛罗里达州被成功使用于搜救,包括搜寻一架失踪的轻型飞机

Note: 上述列表包括了许多项目的重要里程碑事件。更完整的项目贡献者的列表请到ArduCopter.pde 或GitHub
contributors graph查看

Contents
,